package com.neulogistics.contrib.warehouse.api.application.viewmodel;


import com.neulogistics.contrib.warehouse.domain.model.enumeration.CirculationDetail;
import com.neulogistics.contrib.warehouse.domain.model.enumeration.CirculationStatus;
import com.neulogistics.contrib.warehouse.domain.model.enumeration.CirculationType;
import com.neulogistics.contrib.warehouse.domain.model.valueobject.Address;
import com.neulogistics.contrib.warehouse.domain.model.valueobject.GoodsItem;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

@Data
public class CirculationOrderViewModel implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 出入库单id
     */
    private String circulationId;

    /**
     * 所属库房id
     */
    private Integer warehouseId;

    /**
     * 流动类型: 0:入库；1:出库
     */
    private Integer circulationType;

    /**
     * 流动细节: 0:进货入库；1:调拨入库；2:退货入库；3:调拨出库；4:退货出库；5:取货出库
     */
    private Integer circulationDetail;

    /**
     * 调拨单id
     */
    private String transferId;

    /**
     * 任务id
     */
    private String taskId;

    /**
     * 货物数组[{商品id、计量单位、数量}]
     */
    private List<GoodsItem> goodsItems;

    /**
     * 状态: 0:进行中；1:已完成；2:已取消
     */
    private Integer circulationStatus;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 完成时间
     */
    private Date completeTime;
}
